var Login = function () {

	return {
		//main function to initiate the module
		init: function () {

			$('.login-form').validate({
				errorElement: 'label', //default input error message container
				errorClass: 'help-inline', // default input error message class
				focusInvalid: false, // do not focus the last invalid input
				rules: {
					username: {
						required: true
					},
					password: {
						required: true
					}
				},

				messages: {
					username: {
						required: "请输入公司名称."
					},
					password: {
						required: "请输入密码."
					}
				},

				invalidHandler: function (event, validator) { //display error alert on form submit
					$('.alert-error', $('.login-form')).show();
				},

				highlight: function (element) { // hightlight error inputs
					$(element)
						.closest('.control-group').addClass('error'); // set error class to the control group
				},

				success: function (label) {
					label.closest('.control-group').removeClass('error');
					label.remove();
				},

				errorPlacement: function (error, element) {
					error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon'));
				},

				submitHandler: function (form) {
					window.location.href = "index.html";
				}
			});

			$('.login-form input').keypress(function (e) {
				if (e.which == 13) {
					if ($('.login-form').validate().form()) {
						window.location.href = "index.html";
					}
					return false;
				}
			});

			$('.change-form').validate({
				errorElement: 'label', //default input error message container
				errorClass: 'help-inline', // default input error message class
				focusInvalid: false, // do not focus the last invalid input
				rules: {
					prePass: {
						required: true
					},
					newPass: {
						required: true
					},
					againPass: {
						equalTo: "#expertPass"
					}
				},

				messages: {
					prePass: {
						required: "请输入原密码."
					},
					newPass: {
						required: "请输入新密码."
					},
					againPass: {
						equalTo: "请再次输入新密码"
					}
				},

				invalidHandler: function (event, validator) { //display error alert on form submit
					$('.alert-error', $('.change-form')).show();
				},

				highlight: function (element) { // hightlight error inputs
					$(element)
						.closest('.control-group').addClass('error'); // set error class to the control group
				},

				success: function (label) {
					label.closest('.control-group').removeClass('error');
					label.remove();
				},

				errorPlacement: function (error, element) {
					error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon'));
				},

				submitHandler: function (form) {
					window.location.href = "score_list.html";
				}
			});

			$('.forget-form').validate({
				errorElement: 'label', //default input error message container
				errorClass: 'help-inline', // default input error message class
				focusInvalid: false, // do not focus the last invalid input
				ignore: "",
				rules: {
					email: {
						required: true,
						email: true
					}
				},

				messages: {
					email: {
						required: "Email is required."
					}
				},

				invalidHandler: function (event, validator) { //display error alert on form submit

				},

				highlight: function (element) { // hightlight error inputs
					$(element)
						.closest('.control-group').addClass('error'); // set error class to the control group
				},

				success: function (label) {
					label.closest('.control-group').removeClass('error');
					label.remove();
				},

				errorPlacement: function (error, element) {
					error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon'));
				},

				submitHandler: function (form) {
					window.location.href = "index.html";
				}
			});

			$('.forget-form input').keypress(function (e) {
				if (e.which == 13) {
					if ($('.forget-form').validate().form()) {
						window.location.href = "index.html";
					}
					return false;
				}
			});

			jQuery('#forget-password').click(function () {
				jQuery('.login-form').hide();
				jQuery('.forget-form').show();
			});

			jQuery('#back-btn').click(function () {
				jQuery('.login-form').show();
				jQuery('.forget-form').hide();
			});

			$('.register-form').validate({
				errorElement: 'label', //default input error message container
				errorClass: 'help-inline', // default input error message class
				focusInvalid: false, // do not focus the last invalid input
				ignore: "",
				rules: {
					username: {
						required: true
					},
					password: {
						required: true
					},
					rpassword: {
						equalTo: "#register_password"
					},
					email: {
						required: true,
						email: true
					},
					tnc: {
						required: true
					}
				},

				messages: { // custom messages for radio buttons and checkboxes
					username: {
						required: '请输入公司名称'
					},
					password: {
						required: '请输入密码'
					},
					rpassword: {
						equalTo: '请重复输入密码'
					},
					email: {
						required: '请输入邮箱'
					},
					tnc: {
						required: "同意条款才可注册."
					}
				},

				invalidHandler: function (event, validator) { //display error alert on form submit

				},

				highlight: function (element) { // hightlight error inputs
					$(element)
						.closest('.control-group').addClass('error'); // set error class to the control group
				},

				success: function (label) {
					label.closest('.control-group').removeClass('error');
					label.remove();
				},

				errorPlacement: function (error, element) {
					if (element.attr("name") == "tnc") { // insert checkbox errors after the container
						error.addClass('help-small no-left-padding').insertAfter($('#register_tnc_error'));
					} else {
						error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon'));
					}
				},

				submitHandler: function (form) {
					window.location.href = "index.html";
				}
			});

			jQuery('#register-btn').click(function () {
	            jQuery('.login-form').hide();
	            jQuery('.change-form').hide();
	            jQuery('.register-form').show();
	        });

	        jQuery('#register-back-btn').click(function () {
	            jQuery('.login-form').show();
	            jQuery('.register-form').hide();
	            jQuery('.change-form').hide();
	        });
			jQuery('#register-change-btn').click(function () {
	            jQuery('.change-form').show();
	            jQuery('.register-form').hide();
	            jQuery('.login-form').hide();
	        });
		}

	};

}();